wayland: Use the pointer enter serial when setting cursor surface
authorKristian Høgsberg <krh@bitplanet.net>
Thu, 21 Mar 2013 02:02:42 +0000 (22:02 -0400)
committerKristian Høgsberg <krh@bitplanet.net>
Thu, 21 Mar 2013 02:56:43 +0000 (22:56 -0400)
commit0d9d808217a04ee965ce5f60f9aff00b2ec4938e
treeadd5a6bc3cd7802e25ef66ae6e6adc2e1e21ab4b
parent98801b07b4122996a8618d053a4eeed9b2843380
wayland: Use the pointer enter serial when setting cursor surface

wl_pointer.set_cursor is rejected if the serial number doesn't match
the enter serial number for the wl_pointer.  We passed the right serial
number when setting the cursor surface in response to the enter event.
Later set_cursor requests fail, but we can still attach new buffers to
our cursor surface, which is why the cursor changed, but the hotspot
didn't update.  Clicking in the decoration results in a leave/enter pair
which triggers wl_pointer.set_cursor with the right serial. That's why
clicking the decoration sets the right cursor.

https://bugzilla.gnome.org/show_bug.cgi?id=695512
gdk/wayland/gdkdevice-wayland.c